
* ========================================================================================================== *
* Harmful Side Effects: How Government Restrictions Against Transnational Civil Society Affect Global Health *
* Authors: Mirko Heinzel & Mathias Koenig-Archibugi                                                          *
* Version: 16.09.2022                                                                                        *
* Stata 16.2                                                                                                 *
* ========================================================================================================== *

clear all
set maxvar 32000

*Install packages if needed
*net install reghdfe
*ssc install blindschemes
*ssc install bacondecomp
*ssc install erepost
*ssc install coefplot
*ssc install ebalance
*ssc install ranktest
*ssc install ivreg2
*ssc install ivreghdfe

cd "location of unzipped files"

use "Heinzel_Koenig-Archibugi_BJPS_22_main.dta"
xtset country_disease_fe year

***********************
* Table 1: DV summary *
***********************

use "Heinzel_Koenig-Archibugi_BJPS_22_main.dta"
keep if year>1992
drop if year>2017
collapse (mean) daly_rate, by(disease_id)
export excel using "Table1.xlsx", firstrow(variables)

************************
* Table 2: INGO models *
************************
clear all
use "Heinzel_Koenig-Archibugi_BJPS_22_main.dta"

reghdfe ingo_all_diseases  lag_ingo_restrictions if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m1 

reghdfe ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m2

reghdfe ingo_all_diseases lag_ingo_restrictions_operations lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m3

reghdfe ingo_all_diseases lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m4

reghdfe ingo_all_diseases lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m5

estfe . m1 m2 m3 m4 m5 , labels(country_fe "Country fixed effects" year "Year fixed effects")

esttab m1 m2 m3 m4 m5 using Table2.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************
* Table 3: DALY models *
************************

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m6

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m7

reghdfe daly_diff lag_ingo_restrictions_operations lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m8

reghdfe daly_diff lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m9

reghdfe daly_diff lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m10

reghdfe daly_diff lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m11

estfe . m6 m7 m8 m9 m10 m11 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m6 m7 m8 m9 m10 m11 using Table3.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

******************************
* Figure 1: long-run effects *
******************************

reghdfe daly_diff l.lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m12

reghdfe daly_diff l3.lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m13

reghdfe daly_diff l5.lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m14

reghdfe daly_diff l7.lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m15

reghdfe daly_diff l9.lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m16

coefplot (m12, aseq("2 years") \ m13, aseq("4 years") \ m14, aseq("6 years") \ m15, aseq("8 years") \ m16, aseq("10 years")), drop(lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart _cons) scheme(plotplainblind) xline(0, lpattern(dash) lcolor(gs1)) level(90)  swapnames


*************************************
* Table A1: full version of Table 2 *
*************************************

*see Table 2

*************************************
* Table A2: full version of Table 3 *
*************************************

*see Table 3

****************************************************
* Table A3: Including country-specific time trends *
****************************************************

reghdfe ingo_all_diseases lag_ingo_restrictions  lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart   i.country_fe##c.time_trend if disease_id=="All" , absorb( year) vce(cluster country_fe)
eststo m30

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart   i.country_fe##c.time_trend if violence_all!=1 , absorb(country_fe disease_year) vce(cluster country_disease_fe)
eststo m31

esttab  m30 m31 using TableA3.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l 

*******************************************************
* Figure A1: Common trend: leads and lags INGO models *
*******************************************************

reghdfe ingo_all_diseases lag_ingo_restrictions pre_treat_1 pre_treat_2 pre_treat_3 post_treat_1 post_treat_2 post_treat_3 lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m32

coefplot m32, drop(lag_dalydiff lag_healthspendpc lag_libdem lag_corr lag_univ lag_dah health_shock  lag_healthwork lag_gdppc lag_pop _cons lag_cspart) scheme(plotplainblind) xline(0, lpattern(dash) lcolor(gs1)) level(95) 

*************************************************************
* Figure A2: Common trend: leads and lags DALYs lost models *
*************************************************************

reghdfe daly_diff lag_ingo_restrictions pre_treat_1 pre_treat_2 pre_treat_3 post_treat_1 post_treat_2 post_treat_3 lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m33

coefplot m33, drop(lag_dalydiff lag_healthspendpc lag_libdem lag_corr lag_univ lag_dah health_shock  lag_healthwork lag_gdppc lag_pop _cons lag_cspart) scheme(plotplainblind) xline(0, lpattern(dash) lcolor(gs1)) level(95) 

************************************************************************************
* Table A4 & Figure A3: Goodman-Bacon decomposition of regression predicting INGOs *
************************************************************************************

keep if disease_id=="All"
keep if lag_ingo_restrictions!=.
xtset country_fe year

xtreg ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  i.year, fe robust
bacondecomp ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart , stub(Bacon_) robust

****************************************************************************************************
* Table A5 & Figure A4: Goodman-Bacon decomposition of regression predicting changes in DALYs lost *
****************************************************************************************************

clear all
use "Heinzel_Koenig-Archibugi_BJPS_22_main.dta"
keep if violence_all!=1 
keep if lag_ingo_restrictions!=.
xtset country_disease_fe year

xtreg daly_diff lag_ingo_restrictions lag_libdem lag_healthwork lag_healthspendpc  lag_univ lag_gdppc lag_dah  i.year, fe robust
bacondecomp daly_diff lag_ingo_restrictions lag_libdem lag_healthwork lag_healthspendpc  lag_univ lag_gdppc lag_dah , stub(Bacon_) robust

*********************************************************
* Table A6: Matching on observables (entropy balancing) *
*********************************************************

clear all
use "Heinzel_Koenig-Archibugi_BJPS_22_main.dta"

ebalance lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1

reghdfe daly_diff lag_ingo_restrictions [pw = _webal] if violence_all!=1 , noabsorb cluster(country_disease_fe)
eststo m34

ebalance lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart mean_country_disease mean_disease_year if violence_all!=1

reghdfe daly_diff lag_ingo_restrictions [pw = _webal] if violence_all!=1 , noabsorb cluster(country_disease_fe)
eststo m35

esttab m34 m35 using TableA6.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions ) l 

********************************************************************
* Table A7: Regressing health IGO memberships on INGO restrictions *
********************************************************************

reghdfe igo_all_diseases lag_ingo_restrictions if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m36

reghdfe igo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m37

reghdfe igo_all_diseases lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m38

reghdfe igo_all_diseases lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m39

estfe . m36 m37 m38 m39  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m36 m37 m38 m39 using TableA7.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_ingo_restrictions_operations lag_ingo_restrictions_advocacy lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

**********************************************
* Table A8: Instrumental variable regression *
**********************************************

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_disease_fe)  cluster(country_disease_fe)
eststo m40

ivreghdfe daly_diff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart (lag_ingo_restrictions=l2.wy_restriction) if violence_all!=1 , absorb(country_disease_fe)  cluster(country_disease_fe) first
eststo m41

ivreghdfe daly_diff lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart (lag_ingo_restrictions=l2.wy_restriction) if violence_all!=1 , absorb(country_disease_fe)  cluster(country_disease_fe) first
eststo m42

ivreghdfe daly_diff lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart (lag_ingo_restrictions=l2.wy_restriction) if violence_all!=1 , absorb(country_disease_fe)  cluster(country_disease_fe) first
eststo m43

estfe . m40 m41 m42 m43  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m40 m41 m42 m43 using TableA8.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

**************************************************************************
* Table A9: Re-estimating models on the country & country-disease levels *
**************************************************************************

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if violence_all!=1 , absorb(country_fe disease_year) vce(cluster country_fe)
eststo m44

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(year country_fe) vce(cluster country_fe)
eststo m45

estfe . m44 m45 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m44 m45 using TableA9.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')


***********************************************
* Table A10: Including interpersonal violence *
***********************************************

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id!="All" , absorb(country_fe disease_id year)  cluster(country_disease_fe)
eststo m46

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id!="All" , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m47

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id!="All" , absorb(country_disease_fe disease_year)  cluster(country_disease_fe)
eststo m48

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id!="All" , absorb(country_disease_fe disease_year)  cluster(country_disease_fe)
eststo m49

estfe . m46 m47 m48 m49  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m46 m47 m48 m49 using TableA10.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

********************************************
* Table A11: Without high-income countries *
********************************************

reghdfe ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="All" & hic==0, absorb(country_fe year ) vce(cluster country_fe)
eststo m50

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 & hic==0, absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m51

estfe . m50 m51 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m50 m51 using TableA11.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A12: Disease-disaggregated regressions (INGOs 1/3) *
************************************************************

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="cardiovascular" , absorb(country_fe year ) vce(cluster country_fe)
eststo m52

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="chronic_resp" , absorb(country_fe year ) vce(cluster country_fe)
eststo m53

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="diabetes_kidney" , absorb(country_fe year ) vce(cluster country_fe)
eststo m54

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="digestive" , absorb(country_fe year ) vce(cluster country_fe)
eststo m55

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="enteric" , absorb(country_fe year ) vce(cluster country_fe)
eststo m56

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc if disease_id=="maternal_neonatal" , absorb(country_fe year ) vce(cluster country_fe)
eststo m57

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="mental" , absorb(country_fe year ) vce(cluster country_fe)
eststo m58

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="musculoskeletal" , absorb(country_fe year ) vce(cluster country_fe)
eststo m59

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="neoplasms" , absorb(country_fe year ) vce(cluster country_fe)
eststo m60

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="neurological" , absorb(country_fe year ) vce(cluster country_fe)
eststo m61

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="nutritional" , absorb(country_fe year ) vce(cluster country_fe)
eststo m62

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="other_infect" , absorb(country_fe year ) vce(cluster country_fe)
eststo m63

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="other_ncd" , absorb(country_fe year ) vce(cluster country_fe)
eststo m64

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="resp_tub" , absorb(country_fe year ) vce(cluster country_fe)
eststo m65

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="sense_organ" , absorb(country_fe year ) vce(cluster country_fe)
eststo m66

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="skin_subcutaneous" , absorb(country_fe year ) vce(cluster country_fe)
eststo m67

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="stds" , absorb(country_fe year ) vce(cluster country_fe)
eststo m68

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="substance_use" , absorb(country_fe year ) vce(cluster country_fe)
eststo m69

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="transport_inj" , absorb(country_fe year ) vce(cluster country_fe)
eststo m70

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="tropical_mal" , absorb(country_fe year ) vce(cluster country_fe)
eststo m71

reghdfe ingo_disease_specific lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart if disease_id=="unintent_inj" , absorb(country_fe year ) vce(cluster country_fe)
eststo m72

estfe . m52 m53 m54 m55 m56 m57 m58, labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m52 m53 m54 m55 m56 m57 m58 using TableA12.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A13: Disease-disaggregated regressions (INGOs 2/3) *
************************************************************

estfe . m59 m60 m61 m62 m63 m64 m65 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m59 m60 m61 m62 m63 m64 m65 using TableA13.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A14: Disease-disaggregated regressions (INGOs 3/3) *
************************************************************

estfe . m66 m67 m68 m69 m70 m71 m72   , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m66 m67 m68 m69 m70 m71 m72  using TableA14.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A15: Disease-disaggregated regressions (DALYs 1/3) *
************************************************************

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="cardiovascular" , absorb(year country_fe) cluster(year)
eststo m73

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="chronic_resp" , absorb(year country_fe) cluster(year)
eststo m74

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="diabetes_kidney" , absorb(year country_fe) cluster(year)
eststo m75

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="digestive" , absorb(year country_fe) cluster(year)
eststo m76

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="enteric" , absorb(year country_fe) cluster(year)
eststo m77

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="maternal_neonatal" , absorb(year country_fe) cluster(year)
eststo m78

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="mental" , absorb(year country_fe) cluster(year)
eststo m79

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="musculoskeletal" , absorb(year country_fe) cluster(year)
eststo m80

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="neoplasms" , absorb(year country_fe) cluster(year)
eststo m81

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="neurological" , absorb(year country_fe) cluster(year)
eststo m82

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="nutritional" , absorb(year country_fe) cluster(year)
eststo m83

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="other_infect" , absorb(year country_fe) cluster(year)
eststo m84

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="other_ncd" , absorb(year country_fe) cluster(year)
eststo m85

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="resp_tub" , absorb(year country_fe) cluster(year)
eststo m86

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="sense_organ" , absorb(year country_fe) cluster(year)
eststo m87

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="skin_subcutaneous" , absorb(year country_fe) cluster(year)
eststo m88

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="stds" , absorb(year country_fe) cluster(year)
eststo m89

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="substance_use" , absorb(year country_fe) cluster(year)
eststo m90

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="transport_inj" , absorb(year country_fe) cluster(year)
eststo m91

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="tropical_mal" , absorb(year country_fe) cluster(year)
eststo m92

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="unintent_inj" , absorb(year country_fe) cluster(year)
eststo m93

reghdfe daly_diff lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if disease_id=="violence" , absorb(year country_fe) cluster(year)
eststo m94

estfe . m73 m74 m75 m76 m77 m78 m79, labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m73 m74 m75 m76 m77 m78 m79 using TableA15.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A16: Disease-disaggregated regressions (DALYs 2/3) *
************************************************************

estfe . m80 m81 m82 m83 m84 m85 m86 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m80 m81 m82 m83 m84 m85 m86 using TableA16.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A17: Disease-disaggregated regressions (DALYs 3/3) *
************************************************************

estfe . m87 m88 m89 m90 m91 m92 m93 m94  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m87 m88 m89 m90 m91 m92 m93 m94 using TableA17.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

****************************************
* Table A18: Alternative fixed effects *
****************************************

reghdfe daly_diff lag_ingo_restrictions  lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_id year)  cluster(country_disease_fe)
eststo m95

reghdfe daly_diff lag_ingo_restrictions  lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_disease_fe year)  cluster(country_disease_fe)
eststo m96

reghdfe daly_diff lag_ingo_restrictions  lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_disease_fe disease_year)  cluster(country_disease_fe)
eststo m97

estfe . m95 m96 m97, labels(country_fe "Country fixed effects" country_disease_fe "Country-disease fixed effects" disease_fe "Disease fixed effects" disease_year "Disease-year fixed effects" year "Year fixed effects")

esttab m95 m96 m97 using TableA18.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

*********************************
* Table A19: Additional DV lags *
*********************************

reghdfe daly_diff lag_ingo_restrictions l.daly_diff l2.daly_diff l3.daly_diff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m98

reghdfe daly_diff lag_ingo_restrictions l.daly_diff l2.daly_diff l3.daly_diff l4.daly_diff l5.daly_diff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m99

reghdfe daly_diff lag_ingo_restrictions l.daly_diff l2.daly_diff l3.daly_diff l4.daly_diff l5.daly_diff l6.daly_diff l7.daly_diff l8.daly_diff l9.daly_diff l10.daly_diff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m100

estfe . m98 m99 m100 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m98 m99 m100 using TableA19.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

******************************
* Table A20: Alternative DVs *
******************************

reghdfe yll_diff lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m101

reghdfe deaths_diff lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m102

reghdfe prevalence_diff lag_ingo_restrictions  lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m103

estfe . m101 m102 m103 , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m101 m102 m103 using TableA20.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

*******************************************
* Table A21: Additional control variables *
*******************************************

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_log_daly lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m104

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_ingo_all lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m105

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_ingo_all lag_io_all lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m106

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_growth lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m107

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff health_shock lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m108

reghdfe  daly_diff lag_ingo_restrictions lag_dalydiff lag_log_daly lag_healtheq lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m109

reghdfe  daly_diff lag_ingo_restrictions lag_univ lag_libdem lag_healthwork lag_gdppc  if violence_all!=1 , absorb(country_fe disease_year_fe)  cluster(country_disease_fe)
eststo m110

estfe . m104 m105 m106 m107 m108 m109 m110  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m104 m105 m106 m107 m108 m109 m110 using TableA21.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')

************************************************************
* Table A22: Excluding DAH and Civil Society Participation *
************************************************************

reghdfe ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_healthwork lag_gdppc lag_cspart if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m111

reghdfe ingo_all_diseases lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc if disease_id=="All" , absorb(country_fe year ) vce(cluster country_fe)
eststo m112

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_healthwork lag_gdppc lag_cspart if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m113

reghdfe daly_diff lag_ingo_restrictions lag_dalydiff lag_ngo lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc  if violence_all!=1 , absorb(country_fe disease_year)  cluster(country_disease_fe)
eststo m114

estfe . m111 m112 m113 m114  , labels(country_fe "Country fixed effects" disease_year "Disease-year fixed effects")

esttab m111 m112 m113 m114  using TableA22.rtf, star(+ 0.10 * 0.05 ** 0.01 *** 0.001) b(4) r2 se mlabels(,titles) order(lag_ingo_restrictions lag_dalydiff lag_healthspendpc lag_libdem lag_univ lag_dah lag_healthwork lag_gdppc lag_cspart) l indicate(`r(indicate_fe)')


